package com.yfp.device.domain;

import java.util.ArrayList;
import java.util.List;

public class MachineErrorExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MachineErrorExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMachineIdIsNull() {
            addCriterion("machine_id is null");
            return (Criteria) this;
        }

        public Criteria andMachineIdIsNotNull() {
            addCriterion("machine_id is not null");
            return (Criteria) this;
        }

        public Criteria andMachineIdEqualTo(String value) {
            addCriterion("machine_id =", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotEqualTo(String value) {
            addCriterion("machine_id <>", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdGreaterThan(String value) {
            addCriterion("machine_id >", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdGreaterThanOrEqualTo(String value) {
            addCriterion("machine_id >=", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdLessThan(String value) {
            addCriterion("machine_id <", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdLessThanOrEqualTo(String value) {
            addCriterion("machine_id <=", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdLike(String value) {
            addCriterion("machine_id like", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotLike(String value) {
            addCriterion("machine_id not like", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdIn(List<String> values) {
            addCriterion("machine_id in", values, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotIn(List<String> values) {
            addCriterion("machine_id not in", values, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdBetween(String value1, String value2) {
            addCriterion("machine_id between", value1, value2, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotBetween(String value1, String value2) {
            addCriterion("machine_id not between", value1, value2, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineTypeIsNull() {
            addCriterion("machine_type is null");
            return (Criteria) this;
        }

        public Criteria andMachineTypeIsNotNull() {
            addCriterion("machine_type is not null");
            return (Criteria) this;
        }

        public Criteria andMachineTypeEqualTo(Integer value) {
            addCriterion("machine_type =", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeNotEqualTo(Integer value) {
            addCriterion("machine_type <>", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeGreaterThan(Integer value) {
            addCriterion("machine_type >", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("machine_type >=", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeLessThan(Integer value) {
            addCriterion("machine_type <", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeLessThanOrEqualTo(Integer value) {
            addCriterion("machine_type <=", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeIn(List<Integer> values) {
            addCriterion("machine_type in", values, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeNotIn(List<Integer> values) {
            addCriterion("machine_type not in", values, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeBetween(Integer value1, Integer value2) {
            addCriterion("machine_type between", value1, value2, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("machine_type not between", value1, value2, "machineType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeIsNull() {
            addCriterion("error_type is null");
            return (Criteria) this;
        }

        public Criteria andErrorTypeIsNotNull() {
            addCriterion("error_type is not null");
            return (Criteria) this;
        }

        public Criteria andErrorTypeEqualTo(String value) {
            addCriterion("error_type =", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotEqualTo(String value) {
            addCriterion("error_type <>", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeGreaterThan(String value) {
            addCriterion("error_type >", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeGreaterThanOrEqualTo(String value) {
            addCriterion("error_type >=", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeLessThan(String value) {
            addCriterion("error_type <", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeLessThanOrEqualTo(String value) {
            addCriterion("error_type <=", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeLike(String value) {
            addCriterion("error_type like", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotLike(String value) {
            addCriterion("error_type not like", value, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeIn(List<String> values) {
            addCriterion("error_type in", values, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotIn(List<String> values) {
            addCriterion("error_type not in", values, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeBetween(String value1, String value2) {
            addCriterion("error_type between", value1, value2, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorTypeNotBetween(String value1, String value2) {
            addCriterion("error_type not between", value1, value2, "errorType");
            return (Criteria) this;
        }

        public Criteria andErrorNameIsNull() {
            addCriterion("error_name is null");
            return (Criteria) this;
        }

        public Criteria andErrorNameIsNotNull() {
            addCriterion("error_name is not null");
            return (Criteria) this;
        }

        public Criteria andErrorNameEqualTo(String value) {
            addCriterion("error_name =", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameNotEqualTo(String value) {
            addCriterion("error_name <>", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameGreaterThan(String value) {
            addCriterion("error_name >", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameGreaterThanOrEqualTo(String value) {
            addCriterion("error_name >=", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameLessThan(String value) {
            addCriterion("error_name <", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameLessThanOrEqualTo(String value) {
            addCriterion("error_name <=", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameLike(String value) {
            addCriterion("error_name like", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameNotLike(String value) {
            addCriterion("error_name not like", value, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameIn(List<String> values) {
            addCriterion("error_name in", values, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameNotIn(List<String> values) {
            addCriterion("error_name not in", values, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameBetween(String value1, String value2) {
            addCriterion("error_name between", value1, value2, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorNameNotBetween(String value1, String value2) {
            addCriterion("error_name not between", value1, value2, "errorName");
            return (Criteria) this;
        }

        public Criteria andErrorDescIsNull() {
            addCriterion("error_desc is null");
            return (Criteria) this;
        }

        public Criteria andErrorDescIsNotNull() {
            addCriterion("error_desc is not null");
            return (Criteria) this;
        }

        public Criteria andErrorDescEqualTo(String value) {
            addCriterion("error_desc =", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescNotEqualTo(String value) {
            addCriterion("error_desc <>", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescGreaterThan(String value) {
            addCriterion("error_desc >", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescGreaterThanOrEqualTo(String value) {
            addCriterion("error_desc >=", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescLessThan(String value) {
            addCriterion("error_desc <", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescLessThanOrEqualTo(String value) {
            addCriterion("error_desc <=", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescLike(String value) {
            addCriterion("error_desc like", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescNotLike(String value) {
            addCriterion("error_desc not like", value, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescIn(List<String> values) {
            addCriterion("error_desc in", values, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescNotIn(List<String> values) {
            addCriterion("error_desc not in", values, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescBetween(String value1, String value2) {
            addCriterion("error_desc between", value1, value2, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorDescNotBetween(String value1, String value2) {
            addCriterion("error_desc not between", value1, value2, "errorDesc");
            return (Criteria) this;
        }

        public Criteria andErrorTimeIsNull() {
            addCriterion("error_time is null");
            return (Criteria) this;
        }

        public Criteria andErrorTimeIsNotNull() {
            addCriterion("error_time is not null");
            return (Criteria) this;
        }

        public Criteria andErrorTimeEqualTo(String value) {
            addCriterion("error_time =", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeNotEqualTo(String value) {
            addCriterion("error_time <>", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeGreaterThan(String value) {
            addCriterion("error_time >", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeGreaterThanOrEqualTo(String value) {
            addCriterion("error_time >=", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeLessThan(String value) {
            addCriterion("error_time <", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeLessThanOrEqualTo(String value) {
            addCriterion("error_time <=", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeLike(String value) {
            addCriterion("error_time like", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeNotLike(String value) {
            addCriterion("error_time not like", value, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeIn(List<String> values) {
            addCriterion("error_time in", values, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeNotIn(List<String> values) {
            addCriterion("error_time not in", values, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeBetween(String value1, String value2) {
            addCriterion("error_time between", value1, value2, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorTimeNotBetween(String value1, String value2) {
            addCriterion("error_time not between", value1, value2, "errorTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeIsNull() {
            addCriterion("error_repair_time is null");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeIsNotNull() {
            addCriterion("error_repair_time is not null");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeEqualTo(String value) {
            addCriterion("error_repair_time =", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeNotEqualTo(String value) {
            addCriterion("error_repair_time <>", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeGreaterThan(String value) {
            addCriterion("error_repair_time >", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeGreaterThanOrEqualTo(String value) {
            addCriterion("error_repair_time >=", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeLessThan(String value) {
            addCriterion("error_repair_time <", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeLessThanOrEqualTo(String value) {
            addCriterion("error_repair_time <=", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeLike(String value) {
            addCriterion("error_repair_time like", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeNotLike(String value) {
            addCriterion("error_repair_time not like", value, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeIn(List<String> values) {
            addCriterion("error_repair_time in", values, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeNotIn(List<String> values) {
            addCriterion("error_repair_time not in", values, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeBetween(String value1, String value2) {
            addCriterion("error_repair_time between", value1, value2, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andErrorRepairTimeNotBetween(String value1, String value2) {
            addCriterion("error_repair_time not between", value1, value2, "errorRepairTime");
            return (Criteria) this;
        }

        public Criteria andContainerNoIsNull() {
            addCriterion("container_no is null");
            return (Criteria) this;
        }

        public Criteria andContainerNoIsNotNull() {
            addCriterion("container_no is not null");
            return (Criteria) this;
        }

        public Criteria andContainerNoEqualTo(String value) {
            addCriterion("container_no =", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoNotEqualTo(String value) {
            addCriterion("container_no <>", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoGreaterThan(String value) {
            addCriterion("container_no >", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoGreaterThanOrEqualTo(String value) {
            addCriterion("container_no >=", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoLessThan(String value) {
            addCriterion("container_no <", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoLessThanOrEqualTo(String value) {
            addCriterion("container_no <=", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoLike(String value) {
            addCriterion("container_no like", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoNotLike(String value) {
            addCriterion("container_no not like", value, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoIn(List<String> values) {
            addCriterion("container_no in", values, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoNotIn(List<String> values) {
            addCriterion("container_no not in", values, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoBetween(String value1, String value2) {
            addCriterion("container_no between", value1, value2, "containerNo");
            return (Criteria) this;
        }

        public Criteria andContainerNoNotBetween(String value1, String value2) {
            addCriterion("container_no not between", value1, value2, "containerNo");
            return (Criteria) this;
        }

        public Criteria andErrorCodeIsNull() {
            addCriterion("error_code is null");
            return (Criteria) this;
        }

        public Criteria andErrorCodeIsNotNull() {
            addCriterion("error_code is not null");
            return (Criteria) this;
        }

        public Criteria andErrorCodeEqualTo(String value) {
            addCriterion("error_code =", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeNotEqualTo(String value) {
            addCriterion("error_code <>", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeGreaterThan(String value) {
            addCriterion("error_code >", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeGreaterThanOrEqualTo(String value) {
            addCriterion("error_code >=", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeLessThan(String value) {
            addCriterion("error_code <", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeLessThanOrEqualTo(String value) {
            addCriterion("error_code <=", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeLike(String value) {
            addCriterion("error_code like", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeNotLike(String value) {
            addCriterion("error_code not like", value, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeIn(List<String> values) {
            addCriterion("error_code in", values, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeNotIn(List<String> values) {
            addCriterion("error_code not in", values, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeBetween(String value1, String value2) {
            addCriterion("error_code between", value1, value2, "errorCode");
            return (Criteria) this;
        }

        public Criteria andErrorCodeNotBetween(String value1, String value2) {
            addCriterion("error_code not between", value1, value2, "errorCode");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}